package datos;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Aiskel
 */
import java.util.*;

/*
 * Esta clase implementa la interfaz Comparator, que permite establecer
 * un filtro para el ordenamiento de la colecciÃ³n de estudiantes por apellido
 */
public class CompararNickname implements Comparator
{

    /*
     * Se implementa el mÃ©todo compare de la interfaz Comparator, que recibe como
     * parÃ¡metro dos objetos de tipo Object (los objetos que serÃ¡n comparados)
     */
    public int compare(Object primerObjeto, Object segundoObjeto)
    {
        /*
         * Se genera una comparaciÃ³n entre los apellidos de los objetos
         */
        //int resultado = ((Nodo)primerObjeto).getApellido().compareTo(((Nodo)segundoObjeto).getApellido());

        Usuario primerObjetoNodo = (Usuario) primerObjeto;
        Usuario segundoObjetoNodo = (Usuario) segundoObjeto;

        String apellidoPrimerObjeto = primerObjetoNodo.getNickname();
        String apellidoSegundoObjeto = segundoObjetoNodo.getNickname();

        int resultado = apellidoPrimerObjeto.compareTo(apellidoSegundoObjeto);



        /*
         * Si resultado es igual a cero, es porque se trata del mismo objeto
         */
        if (resultado == 0)
            return 0;
        /*
         * Si el apellido del primer objeto es mayor que el apellido del segundo, se
         * devuelve -1, con lo cual el primer objeto serÃ¡ ingresado en la colecciÃ³n
         * antes que el segundo
         */
        if (resultado <= 0)
            return -1;
        /*
         * Si el apellido del primer objeto es menor que el apellido del segundo, se
         * devuelve 1, con lo cual el primer objeto serÃ¡ ingresado en la colecciÃ³n
         * despuÃ©s que el segundo
         */
        return 1;
    }
}

